layui.use(function() {
  var $ = layui.$;
  var form = layui.form;
  var layer = layui.layer;
  var util = layui.util;

  // 发生短信验证码
  util.on('lay-on', {
    'reg-get-vercode': function(othis) {
      // 主动触发校验
      var isValid = form.validate('#reg-cellphone');
      if (isValid) {
        console.log('请求后端发生验证码');

        let data = form.val('register-form');
        fetch('/captcha/email', {
          method: 'get',
          headers: {'Content-Type': 'application/json'},
          body: JSON.stringify({'mobile': data.email}),
        }).then(function(response) {
          return response.json();
        }).then(function(ret) {
          // console.log(ret);
          if (ret.code === 0) {
            layer.msg(ret.message, {icon: 1});
          } else {
            layer.msg(ret.message, {icon: 2});
          }
        });
      }
    },
  });
  // 自定义form 的验证规则

  // 自定义验证规则
  form.verify({
    // 确认密码
    confirmPassword: function(value, item) {
      var passwordValue = $('#reg-password').val();
      if (value !== passwordValue) {
        return '两次密码输入不一致';
      }
    },
  });

  // 提交事件
  form.on('submit(demo-reg)', function(data) {
    var field = data.field; // 获取表单字段值

    // 是否勾选同意
    if (!field.agreement) {
      layer.msg('您必须勾选同意用户协议才能注册');
      return false;
    }

    // 此处可执行请求操作
    fetch('/api/register', {
      method: 'POST',
      headers: {'Content-Type': 'application/json'},
      body: JSON.stringify(field),
    }).then(response => response.json()).then(data => {
      // 处理后端的响应数据
      if (!data.code) {
        // 正确信息
        layer.msg(data.message, {icon: 1});
        // 两秒后跳转
        setTimeout(function() {
          location.href = '/login';
        }, 2000);
      } else {
        // 错误信息
        layer.msg(data.message, {icon: 2});
      }
    });

    return false; // 阻止默认 form 跳转
  });

});